package com.ceair.utils.structMapper;

import com.ceair.entity.Oauth2BasicUser;
import com.ceair.entity.vo.user.Oauth2BasicUserVO;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;

/**
 * @author wangbaohai
 * @ClassName Oauth2BasicUserStructMapper
 * @description: 用户结构映射转换器
 * @date 2025年02月16日
 * @version: 1.0.0
 */
@Mapper
public interface Oauth2BasicUserStructMapper {

    /**
     * Oauth2BasicUserStructMapper 的实例，用于获取映射器对象。
     * 通过 Mappers.getMapper 方法获取 Oauth2BasicUserStructMapper 类的实例。
     */
    Oauth2BasicUserStructMapper INSTANCE = Mappers.getMapper(Oauth2BasicUserStructMapper.class);

    /**
     * 将 Oauth2BasicUser 实体对象转换为 Oauth2BasicUserVO 视图对象。
     *
     * @param oauth2BasicUser 需要转换的 Oauth2BasicUser 实体对象
     * @return 转换后的 Oauth2BasicUserVO 视图对象
     */
    Oauth2BasicUserVO toVO(Oauth2BasicUser oauth2BasicUser);

    /**
     * 将 Oauth2BasicUserVO 视图对象转换为 Oauth2BasicUser 实体对象。
     *
     * @param oauth2BasicUserVO 需要转换的 Oauth2BasicUserVO 视图对象
     * @return 转换后的 Oauth2BasicUser 实体对象
     */
    Oauth2BasicUser toEntity(Oauth2BasicUserVO oauth2BasicUserVO);

    /**
     * 将 Oauth2BasicUser 实体对象转换为 Oauth2BasicUserVO 视图对象。
     *
     * @param oauth2BasicUser 需要转换的 Oauth2BasicUser 实体对象
     * @return 转换后的 Oauth2BasicUserVO 视图对象
     */
    com.ceair.entity.vo.Oauth2BasicUserVO toApiVO(Oauth2BasicUser oauth2BasicUser);

}
